Intro

Resumen

Reguetón

Column

Chart 1

[1] "Promedio de token: 107.29"

Column

Temas con mayor cantidad de token

Temas con menor cantidad de token

Trova

[1] "hola2"

Corridos alterados… Próximamente

[1] "hola2"
---
title: "Del perreo hasta el suelo y otros géneros"
output: 
  flexdashboard::flex_dashboard:
    orientation: columns
    social: menu
    source_code: embed
---

```{r, message = FALSE, echo= FALSE}
library(dplyr)
library(ggplot2)
library(kableExtra)
library(readxl)
#library(tidyr)
library(stringr)
library(janitor)
library(wordcloud)
library(RColorBrewer)
library(wordcloud2)
library(tm)
library(tidyverse)
library(hrbrthemes)
library(viridis)
rm(list = ls())

`%notin%` = function(x,y) !(x %in% y)
source("funciones.R")
```

```{r, message = FALSE, echo= FALSE}
library(stopwords)
stopwords <- c(stopwords("es"), stopwords("en"))

stopwords <- c(stopwords, chartr("áéíóú", "aeiou", stopwords)) %>%
  unique()
```

```{r message=FALSE, warning=FALSE, echo=FALSE}
df <- read_excel("data/proyecto canciones.xlsx") %>%
  clean_names() 

df.split <- split(df, df$genero)
n <- length(df.split)

list.processed <- list()
list.freq <- list()

vecgeneros <- c()
```


```{r message=FALSE, warning=FALSE, echo=FALSE}
for(i in 1:n){
  df.temp <- df.split[[i]]
  genero <- df.split[[i]]$genero %>% unique()
  resultado <- procesamiento(df.temp, genero, stemming = FALSE,
                          exclude_stopwords = TRUE, nmin = 1)
  vecgeneros[i] <- genero
  list.processed[[i]] <- resultado[[1]]
  list.freq[[i]] <- resultado[[2]]
}
```

```{r message=FALSE, warning=FALSE, echo=FALSE}
df.processed <- list.processed[[1]]
df.freq <- list.freq[[1]]

for(i in 2:n){
  df.processed <- rbind(df.processed, list.processed[[i]])
  df.freq <- rbind(df.freq, list.freq[[i]])
}
```







Intro
=======================================================================

```{r pressure, echo=FALSE, fig.cap=""}
#knitr::include_graphics("images/antecedente.jpeg")
```



Resumen
=======================================================================

```{r}
value <- df.processed$num.token
name <- df.processed$genero
# Plot
df.processed %>%
  ggplot(aes(x=genero, y=num.token, fill=genero)) +
    geom_boxplot() +
    scale_fill_viridis(discrete = TRUE, alpha=0.6) +
    geom_jitter(color="black", size=0.4, alpha=0.9) +
    theme_ipsum() +
    theme(
      legend.position="none",
      plot.title = element_text(size=11)
    ) +
    ggtitle("Cantidad de token por género") +
    xlab("")
```





```{r, eval = FALSE}

```


Reguetón
=======================================================================




  
Column
-------------------------------------
    
### Chart 1
    
```{r}
set.seed(1234) # for reproducibility 
valor.genero <- "reguetón"
media <- df.processed$num.token[df.processed$genero == valor.genero] %>%
  mean()
paste("Promedio de token:", round(media, 2))
wordcloud(words = df.freq$word[df.freq$genero == valor.genero], 
          freq = df.freq$freq[df.freq$genero == valor.genero], 
          min.freq = 1, max.words=200, random.order=FALSE, 
          rot.per=0.35,        
          colors=brewer.pal(8, "Dark2"))
```
   
Column
-------------------------------------
    
### Temas con mayor cantidad de token

```{r}
df.processed %>%
  top.token("reguetón", 5) %>%
  ggbarplot()
```


### Temas con menor cantidad de token

```{r}
df.processed %>%
  tail.token("reguetón", 5) %>%
  ggbarplot()
```


Trova
=======================================================================

```{r, message = FALSE, echo = FALSE}
print("hola2")
```


Corridos alterados... Próximamente
=======================================================================

```{r, message = FALSE, echo = FALSE}
print("hola2")
```